Website powered by

Blender Mesh Exporter for RedEngine

During my work in CD Projekt Red i took part in development of our internal intermediate format for meshes and animations. I took part in refactoring of C++ API of this format, Created Python Bindings with Pybind11 for most important features of the API and worked on multiple tools for this format including Maya Mesh Exporter, Maya Animation Exporter, Blender Mesh Exporter and Standalone Mesh Previewer.

Here is Blender Mesh Exporter that I developed. One of goals that I had in mind was making UI of exporter compact and contextual to prevent UI bloat as new features are requested and added.

Exporter support Geometry with multiple LODs, various types of colliders (primitive colliders and mesh colliders), occluders and some special markers as well. File and export object are validated, mesh is exported, new file is added to be tracked by perforce and optionally mesh can be auto imported to the engine (with automatic update in editor viewport).

Tool was written entirely in Python and uses Python API of internal format mentioned before. Features of this exporter are covered by automatic functional tests making sure corner cases are covered, and that regressions are immediately catched.

Additional Credit goes to Karol Kowalczyk for writing export validation subsystem and his contribution to writing automatic tests.

Blender Exporter has a lot of automatic tests making sure that corner cases are handled properly - they are safeguarding exporter from regressions

Blender Exporter has a lot of automatic tests making sure that corner cases are handled properly - they are safeguarding exporter from regressions